﻿import { ISysVisitorReason } from '/@/views/visitor/sysvisitorreason/api/interface'
import { IFileAttachment } from '/@/views/fileattachment/api/interface'
import { IFrameworkUser } from '/@/views/fileattachment/api/interface'
import { ISysGroup } from '/@/views/fileattachment/api/interface'


export interface ISysVisitorRecordRequestBill {
  ID: string | null;
  VisitorReasonId: string | null;
  VisitorReason?: ISysVisitorReason;
  Name: string | null;
  Phone: string | null;
  IdCardNo: string | null;
  IdCardFrontPhotoId: string | null;
  IdCardFrontPhoto?: IFileAttachment;
  IdCardBackPhotoId: string | null;
  IdCardBackPhoto?: IFileAttachment;
  Company: string | null;
  CarNo: string | null;
  UserId: string | null;
  User?: IFrameworkUser;
  ReservationTime: Date | null;
  Receptionist: string | null;
  ReceptionistPhone: string | null;
  RejectReason: string | null;
  EntryTime: Date | null;
  LeaveTime: Date | null;
  Approver: string | null;
  ApprovalTime: string | null;
  GroupId: string | null;
  Group?: ISysGroup;
  BillCode: string | null;
  BillStatus: string | null;
  WorkflowStatus: string | null;
  Remark: string | null
}

export interface ISysVisitorRecordRequestBillVm {
  Entity: ISysVisitorRecordRequestBill;
  ActionName: string | null;
  IsMyApprove: boolean | null;
}

export interface ISysVisitorRecordRequestBillView extends ISysVisitorRecordRequestBill {

  ActionNames?: string;

}

export interface ISysVisitorRecordRequestBillQuery {
  VisitorReasonId?: string
  Name?: string
  Phone?: string
  IdCardNo?: string
  IdCardFrontPhotoId?: string
  IdCardBackPhotoId?: string
  Company?: string
  CarNo?: string
  UserId?: string
  ReservationTime?: Date
  Receptionist?: string
  ReceptionistPhone?: string
  EntryTime?: Date
  LeaveTime?: Date
  GroupId?: string
  BillCode?: string
  BillStatus?: number
}